#include "Bool8.h"

Bool8::Bool8(bool valor) {
    this->_valor = valor;
    this->_punteroADato = &_valor;
}

Bool8::Bool8(void* punteroADato){
    this->_punteroADato = punteroADato;
}

Bool8::Bool8(string valor){
    if(string("1").compare(valor) == 0){
        this->_valor = true;
    } else {
        this->_valor = false;
    }
}

void Bool8::comparar(TipoDeDato& tipoDeDato,ostream& out) {
    unsigned char* otroValor = (unsigned char*) tipoDeDato.damePunteroADato();
    if ( _valor != *otroValor )
        out << "Se esperaba " << (int)_valor << " y se obtuvo " << (int)*otroValor << endl;
}

unsigned char Bool8::dameValor(){
    return this->_valor;
}

ClaseDeDato Bool8::getClass() {
    return C_BOOL_8;
}
